package com.tarena.lbs.coupon.dao.repository;

import com.tarena.lbs.coupon.pojo.po.CouponStockPO;

public interface StockRepository {


    /**
     * 这是新增优惠券库存
     * 业务设计是当优惠券被创建时，同步更新库存表
     *
     * @param couponStockPO
     */
    int insert(CouponStockPO couponStockPO);

    /**
     * 根据优惠券id查找库存表中数据
     *
     * @param couponId 优惠券id
     * @return couponStock的po对象
     */
    CouponStockPO findByCouponId(Integer couponId);

    /**
     * 表示优惠券库存减1
     *
     * @param couponId 优惠券id
     * @return 影响到的数据行
     */
    int deductStock(Integer couponId);

    /**
     * 优惠券库存扣除指定的数量
     *
     * @param couponId 优惠券id
     * @param count    优惠券数量
     * @return 影响到的数据行
     */
    int decreaseStock(Integer couponId, Integer count);
}
